iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 9
1
AI & Data

人工智慧(RL系列) 完爆遊戲30天系列 第 9

Day_9 baselines 算法集合

  • 分享至 

  • xImage
  •  

OpenAi提供的baselines囊括了許多強化學習算法,包括我們前面講解的Q-learning,這篇會簡單帶大家跑個範例程式碼,大家也可以調整參數玩玩看。另外會提到gym,有點生疏的同學可以回到Day4複習下~

gym-環境

gym提供了很多環境,內容可參考這邊:https://gym.openai.com/envs/#classic_control,要注意的是MuJoCo、Robotics要先去mujoco官網取得license,可參考這篇https://codertw.com/程式語言/508238/。穩定的話載mujoco150就好,但有些gym-環境似乎要mujoco200,不過這可以等到裝gym新的環境過程中跳出錯誤,再來載也沒問題。

baselines

openai的baseline提供的一套基線算法,讓大家可選選參數輕鬆實現,DDPG、DQN、A2C、PPO1、PPO2...但這邊我們這只會用到DQN,首先安裝baselines:

git clone https://github.com/openai/baselines.git

安裝tensorflow

# 有gpu輸入這個
# pip install tensorflow-gpu==1.13.1 
# 沒gpu輸入這個
pip install tensorflow==1.13.1 
cd baselines
pip install -e .

到這邊就安裝好了,接著就可以跑訓練:
python -m baselines.run --alg=deepq --env=CartPole-v0 --save_path=./cartpole_model.pkl --num_timesteps=1e5
等訓練結束就可以用output的模型來玩哩:
python -m baselines.run --alg=deepq --env=CartPole-v0 --load_path=./cartpole_model.pkl --num_timesteps=0 --play
https://ithelp.ithome.com.tw/upload/images/20190924/20121110VTmKRX72cs.png

參數詳解

alg:指定算法
env:指定環境
save_path:存放模型路徑
load_path:讀取模型路徑
num_timesteps:訓練次數
其他詳細參數用-h就可以看了,deepq還有附註其他環境的訓練參數,詳細可參考:https://github.com/openai/baselines/tree/master/baselines/deepq/experiments ,不過很奇怪的是有些算法下有experiments,有些則沒,沒的真挺可惜...額外的條參經驗看來還是得靠看paper學了XD

結語

在安裝過程可能會因為電腦系統或套件耦合,產生意外的驚喜,不過基本上看log配google過關斬將應該沒有不行的。好了明天來介紹離線小恐龍Dino,準備親手打造環境跟算法囉!
https://ithelp.ithome.com.tw/upload/images/20190924/20121110YmCZOfY9oA.jpg

補充參考

gym遊戲玩家排行版:https://github.com/openai/gym/wiki/Leaderboard


上一篇
Day_8 Q-learning Natural
下一篇
Day10 初探小恐龍
系列文
人工智慧(RL系列) 完爆遊戲30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言